package com.learn.hystrix.observable;

/**
 * 发射源
 *
 * @author Sunxiaoyu
 * Create in 20:20 2018/12/23
 */
public interface Subject {

    /**
     * 增加观察者
     *
     * @param observer 观察者
     */
    void add(Observer observer);

    /**
     * 删除观察者
     *
     * @param observer 观察者
     */
    void del(Observer observer);

    /**
     * 通知所有的观察者
     *
     * @param context 内容
     */
    void notifyObservers(String context);

    /**
     * 发布
     */
    void publish();
}
